[% setvar title The Perl 6 Summary of the week ending 20030928 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary of the week ending 20030928'></a><h1>The Perl 6 Summary of the week ending 20030928</h1>
<p>This week, on perl6-internals, stuff was said, code was written, Leo
T&ouml;tsch was the patchmonster, life got some colour, Amir Karger
needs to work harder if he wants to be mentioned in the summary again,
Dan Sugalski was our glorious leader.</p>
<p>Meanwhile, on perl6-language, Larry's back (yay!), Austin Hastings' front.</p>
<p>If you've enjoyed this summary please send lawyers, guns and money to...</p>
<p>Ah heck! Try as I might, I can't get away with that can I? Here's the
real thing, starting with perl6-internals</p>
<a name='parrot -t gets fixed'></a><h2><code>parrot -t</code> gets fixed</h2>
<p>Will Coleda had some problems that <code>parrot -t</code> didn't seem to
solve. This prompted Leo to take a look at the <code>-t</code> behaviour,
which, whilst not actually <i>leaking</i> memory, nevertheless used an
awful lot of it. So Leo fixed things up and posted an explanation of
what got fixed. It looks to me as if said explanation might come in
handy for anyone wanting to know how to play nice with the garbage
collector. (The essential rule seems to be &quot;Whatever you do, don't
turn off garbage collection, you might have to jump through a few
extra hoops when it's on, but trust us, it's worth it.&quot;)</p>
<p><a href='http://groups.google.com/groups?threadm=3F6EE363.1060508@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Pondering argument passing'></a><h2>Pondering argument passing</h2>
<p>The prototyped and unprototyped parameter passing powwow perpetuated
itself this week. It was decided/reiterated that all flattening
happens in the caller and all binding happens in the callee. Steve
Fink and Leo finally managed to get onto the same wavelength. Dan
emphasised that passing everything in a PerlArray is the Wrong
Thing. Parrot acquired a <code>setp Ix, Py</code> op, which does indirect
register addressing.</p>
<p>Scary thought of the week: mutable default values.</p>
<p><a href='http://groups.google.com/groups?threadm=20030922155731.GD13013@foxglove' target='_blank'>groups.google.com</a></p>
<a name='Trig functions for vtables'></a><h2>Trig functions for vtables</h2>
<p>Dan started collecting a list of trig functions to hang off
PMCs. After an initial bit of quibbling about whether trig functions
were really necessary, Leo T&ouml;tsch pointed out that they would
be reached via a secondary vtable, akin to doing <code>$obj-&gt;{vtable}{trig_funcs}{sin}</code> (but not implemented in Perl.)</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309221341020.21077-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='All hands to the pumps!'></a><h2>All hands to the pumps!</h2>
<p>Leo T&ouml;tsch has been running the parrot test suite and looking
for memory leaks. Things are not looking good. It looks like we'll be
seeing a bunch of patches to patch the leaks soon. At least, I hope
will will.</p>
<p><a href='http://groups.google.com/groups?threadm=3F701DB5.2040003@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Notes from the Captain'></a><h2>Notes from the Captain</h2>
<p>Dan has been thinking hard about stuff. In particular, he's been
thinking about namespaces and calling/return conventions. He's still
undecided about how we're going to handle namespaces. The
Calling/return conventions however have been settled (but not written
up formally yet). Essentially, calling a subroutine and invoking a
return continuation are pretty much indistinguishable, so returning
a bunch of values will use the same mechanism as passing in a bunch
of parameters.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309231008490.4164-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309231043510.4164-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Parrot::DWIM'></a><h2>Parrot::DWIM</h2>
<p>Leo T&ouml;tsch is a scary man. 'Inspired' by Damian Conway's
Acme::DWIM module, he's perpetrated Parrot::DWIM. You're better off
not knowing. Honest.</p>
<p><a href='http://groups.google.com/groups?threadm=3F70A167.1090108@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Loading up bytecode segments'></a><h2>Loading up bytecode segments</h2>
<p>Now that we have dynamically loaded bytecode segments, Dan specified
how they should be auto execed on loading (for running set up code
etc). Leo and Dan had a short discussion about whether Dan's spec was
the Right Spec, the two proposals were deemed equivalent, so Dan's
spec was the one that gets implemented.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309231647180.4164-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Another trivial language'></a><h2>Another trivial language</h2>
<p>Marcus Thiesen announced that he had ported another language to
Parrot: URM -- 'Universal Register Machine' which is a teaching
language used in German universities.</p>
<p><a href='http://groups.google.com/groups?threadm=1064348963.710.4.camel@mobilHal.thiesenweb' target='_blank'>groups.google.com</a></p>
<a name='Curses!'></a><h2>Curses!</h2>
<p>Dan's wrapped ncurses in parrot using NCI and used that to redo
<b><i>examples/assembly/life.pasm</i></b> (which was originally written by Dan,
but is often misattributed to Leon Brocard) as
<b><i>examples/assembly/ncurses_life.pasm</i></b>, adding colorized goodness.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309241335400.16892-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Lightweight Languages 2003 CFP'></a><h2>Lightweight Languages 2003 CFP</h2>
<p>The Lightweight Languages conference LL3 has a Call For Papers out
now. Dan posted it to the list.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0309261002270.5990-100000@redcap.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='Larry Wall is in the house'></a><h2>Larry Wall is in the house</h2>
<p>Larry popped up on the list for the first time in ages, answering
questions about macro arguments and autovivification.</p>
<p><a href='http://groups.google.com/groups?threadm=20030926024309.GA22411@wall.org' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=20030926024309.GA22411@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Pondering parametrized operators'></a><h2>Pondering parametrized operators</h2>
<p>Austin Hastings wondered about making parametrized operators. The
example he gave was an infix version of <code>strncmp</code>. I can't see what's
wrong with doing <code>strncmp $this, $that, cmplen =&gt; 4</code>, but Austin
proposes a scheme where one could write <code>&quot;Dough&quot; eqn(4) &quot;Douglas&quot;</code>
and have it return true. Various other possibilities were discussed.</p>
<p><a href='http://groups.google.com/groups?threadm=20030926203455.88113.qmail@web12306.mail.yahoo.com' target='_blank'>groups.google.com</a></p>
<a name='Acknowledgements, Announcements, Apologies'></a><h1>Acknowledgements, Announcements, Apologies</h1>
<p>Sorry it's late.</p>
<p>There's nothing new at <a href='http://www.bofh.org.uk:8080/.' target='_blank'>www.bofh.org.uk</a> Looks like
it's turning into a dead blog.</p>
<p>As ever, if you've appreciated this summary, please consider one or
more of the following options:</p>
<ul>
<li><a name='Send money to the Perl Foundation at donate.perl-foundation.org/ and help support the ongoing development of Perl.'></a>Send money to the Perl Foundation at
<a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> and help support the ongoing
development of Perl.</li>
<li><a name='Get involved in the Perl 6 process. The mailing lists are open to all. dev.perl.org/perl6/ and www.parrotcode.org/ are good starting points with links to the appropriate mailing lists.'></a>Get involved in the Perl 6 process. The mailing lists are open  to
all. <a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> and <a href='http://www.parrotcode.org/' target='_blank'>www.parrotcode.org</a>
are good starting points with links to the appropriate mailing lists.</li>
<li><a name='Send feedback, flames, money, requests for consultancy, photographic and writing commissions, or hot meal to p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a>'></a>Send feedback, flames, money, requests for consultancy, photographic
and writing commissions, or hot meal to <i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i></li>
</ul>
</div>
